﻿var edit = -1;
var permissao;
$(document).ready(function () {
    $(".nav li").removeClass("active");
    $(".nav li.funcionario").addClass("active");

    var width = $(".container").width();

    var colModel = [
            { display: 'CÓD', name: 'id_funcionario', width: width * 0.08, sortable: true, align: 'center' },
            { display: 'Nome', name: 'nome', width: width * 0.30, sortable: true, align: 'left' },
            { display: 'RG', name: 'rg', width: width * 0.16, sortable: true, align: 'center' },
            { display: 'CPF', name: 'cpf', width: width * 0.16, sortable: true, align: 'center' },
            { display: 'Clinica', name: 'cidade', width: width * 0.22, sortable: true, align: 'center' }
    ];

    var buttons = [
            { name: 'Adicionar', bclass: 'add', onpress: addToTable },
            { name: 'Editar', bclass: 'edit', onpress: editTable }
            ,{ name: 'Remover', bclass: 'delete', onpress: deleteFromTable }
    ];

    var searchitems = [
        { display: 'CÓD', name: 'id_funcionario' },
        { display: 'Nome', name: 'nome', isdefault: true },
        { display: 'Clinica', name: 'cidade' }
    ];

    insereGrid("grid", "CadastroFuncionario.aspx/getDados", colModel, buttons, searchitems, "Dentistas", "id_funcionario", "asc", true, width, parseInt(screen.availHeight * 0.49));

    $("#data").mask("99/99/9999");
    $("#cpf").mask("999.999.999-99");
    $("#rg").mask("99.999.999-9");
    permissao = getPermissao();
    ScrollPreencher(1);
});

function addToTable() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        $('#formulario').modal('show');
        $('#tabCadastro a:first').tab('show');
    }
}

function getPermissao() {
    var ret;
    $.ajax({
        type: 'POST',
        url: 'Comparecimento.aspx/getPermissao',
        dataType: 'json',
        async: false,
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            ret = data.d;
        }
    });
    return ret;
}

function verificaCampos(nome, cpf, clinica) {
    if ((nome === "") || (cpf === "") || (clinica === "")) {
        alert("Os Campos *Nome *CPF e *Clinica não podem ser vazios");
        return false;
    }
    return true;
}

function ConfirmAddButton() {
    var registro = "";

    registro += $("#nome").val() + "|";
    registro += $("#data").val() + "|";
    registro += $("#cpf").val() + "|";
    registro += $("#rg").val() + "|";
    registro += $("#clinicaSelect").val();

    var nome = $("#nome").val();
    var cpf = $("#cpf").val();
    var clinica = $("#clinicaSelect").val();

    if (verificaCampos(nome, cpf, clinica)) {
        if (edit == -1) {
            $.ajax({
                type: 'POST',
                url: 'CadastroFuncionario.aspx/addToTable',
                data: "{dados:'" + registro + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#grid").flexReload();
                }
            });
        }
        else {
            $.ajax({
                type: 'POST',
                url: 'CadastroFuncionario.aspx/editTable',
                data: "{id:" + edit + ", dados:'" + registro + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#grid").flexReload();
                    edit = -1;
                }
            });
        }
        $("#formulario").modal('toggle');
        $(".tab-pane input").val('');
    } else {
        //alert("Todos os Campos são Obrigatórios");
    }    
}

function CancelButton() {
    edit = -1;
    $("#formulario").modal('toggle');
    $(".tab-pane input").val('');
}

function editTable() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        if (id == "")
            alert('Nenhum funcionário foi selecionado para edição');
        else {
            $.ajax({
                type: 'POST',
                url: 'CadastroFuncionario.aspx/getDataFromFunc',
                data: "{id:" + id + "}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    if (data.d != "") {
                        var retorno = data.d.split('|');

                        $("#nome").val(retorno[0]);
                        $("#data").val(retorno[1]);
                        $("#cpf").val(retorno[2]);
                        $("#rg").val(retorno[3]);
                        var index = 0;
                        $("#clinicaSelect option").each(function () {
                            if ($(this).attr('value') == retorno[4])
                                document.getElementById("clinicaSelect").selectedIndex = index;
                            ++index;
                        });
                        edit = id;
                        addToTable();
                    }
                }
            });
        }
    }
}

function deleteFromTable() {
    if (permissao < 2) {
        alert("Você não possui permissão para deleção");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        if (id == "")
            alert('Nenhum funcionário foi selecionado para exclusão');
        else if (confirm('Todas as informações do funconário selecionado serão excluídas')) {
            $.ajax({
                type: 'POST',
                url: 'CadastroFuncionario.aspx/deleteFromTable',
                data: "{id:" + id + "}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#grid").flexReload();
                }
            });
        }
    }
}